
function registrar_usuario(){
    deshabilitar_form_usuario();
    if(validar_registro_usuario()){
        url = "/HDS_SCRUM/index.php/UsuarioController/" + deducir_accion_usuario();
        form = "form_usuario";
        respuesta = get_objeto_json(enviar_formulario(url, form));
        if(respuesta.exito){
            renderear_mensaje_exito("Usuario registrado");
            incorporar_id_registrado(respuesta.mensaje);
        }else{
            renderear_mensaje_fracaso(respuesta.mensaje);
            habilitar_form_usuario();
        }
    }
}

function incorporar_id_registrado(id){
    document.getElementById("id_usuario").value = id;
    agregar_elemento_tabla(id);
}


function agregar_elemento_tabla(id){

    var row_id = "row_" + id;
    if(document.getElementById(row_id) == null){
        var row = document.createElement("tr");
        row.id = row_id;
        document.getElementById("crud_table").appendChild(row);
    }
    url = "/HDS_SCRUM/index.php/UsuarioController/generar_renglon_tabla/" + id;
    inyectar_div_ajax(row_id,url,"");
}
function deducir_accion_usuario(){
    var accion = "create";
    if(document.getElementById("id_usuario") != null && document.getElementById("id_usuario").value != ""){
        accion = "update";
    }
    return accion;
}

function eliminar_usuario(id){
    url = "/HDS_SCRUM/index.php/UsuarioController/delete/" + id;
    respuesta = get_objeto_json(enviar_pagina_ajax(url));
    if(respuesta.exito){
        renderear_mensaje_exito("Usuario dado de baja");
        quitar_elemento_tabla(id);
        //si el usuario esta seleccionado para editar se quita de pantalla...
        var usuario = document.getElementById("id_usuario");
        if(usuario != null && usuario.value == id){
            limpiar_div("div_work_area");
        }

    }else{
        renderear_mensaje_fracaso(respuesta.mensaje);
    }
}


function limpiar_div(id){
    document.getElementById(id).innerHTML = "";
}

function quitar_elemento_tabla(id){
    var row_id = "row_" + id;
    document.getElementById(row_id).parentNode.removeChild(document.getElementById(row_id));
}
function deshabilitar_form_usuario(){
    alert("Ya desactive el formulario");
}

function habilitar_form_usuario(){
    alert("Ya active el formulario");
}

function validar_registro_usuario(){
    return validar_campos_vacios() && validar_email();
}

function validar_campos_vacios(){
    var fallo = true;
    if(document.getElementById("email").value == ""){

        elemento = "email";
        mensaje = "Email es obligatorio";
    }else if(document.getElementById("nombre").value == ""){

        elemento = "nombre";
        mensaje = "Nombre es obligatorio";
    }else if(document.getElementById("apellido").value == ""){

        elemento = "apellido";
        mensaje = "apellido es obligatorio";
    }else{
        fallo = false;
    }
    if(fallo){
        elemento_validacion_fallo(elemento, mensaje);
    }
    return  !fallo;

}

function validar_email(){

    var email = document.getElementById("email").value;
    var re_email = document.getElementById("re_email");
    var resp = false;
    if(email == ""){ //se valida que no este vacio el campo
        mensaje = "El e mail es obligatorio";

    }else if(re_email == null || email != re_email.value){
        var url = "/HDS_SCRUM/index.php/UsuarioController/validate_email/";
        datos = "&email=" + email;
        obj = get_objeto_json(enviar_ajax(url, datos));
        resp = obj.exito;
        mensaje = obj.mensaje;
    }else{
        resp = true;
    }

    if(!resp){
        elemento_validacion_fallo("email", mensaje);
    }else{
        elemento_validacion_exito("email");
    }
    return resp;
}

function mostrar_crear_usuario(){
    //url
    var url = "/HDS_SCRUM/index.php/UsuarioController/showForm";
    cargar_ventana_modal("div_work_area", url, "");

}

function mostrar_actualizar_usuario(id){
    var url = "/HDS_SCRUM/index.php/UsuarioController/showForm/update/"+ id;
    cargar_ventana_modal("div_work_area", url, "");
}

function mostrar_info_usuario(id){
    var url = "/HDS_SCRUM/index.php/UsuarioController/showForm/info/"+ id;
    cargar_ventana_modal("div_work_area", url, "");
}